const express = require('express')
const mongoose = require('mongoose')

mongoose.connect('mongodb://localhost:27017/element-admin', {
  useCreateIndex: true,
  useFindAndModify: true,
  useNewUrlParser: true
}).then(() => {
  console.log('数据库连接成功')
})

const articleSchema = new mongoose.Schema({
  title: {
    type: String
  },
  body: {
    type: String
  }
})
const Article = mongoose.model('Article', articleSchema)

const app = express()

app.use(require('cors')())
// 识别客户端提交过来的json
app.use(express.json())

app.get('/', (req, res) => {
  res.send('ok')
})

// 新增文章
app.post('/api/articles', async (req, res) => {
  const article = await Article.create(req.body)
  res.send(article)
})

// 文章列表
app.get('/api/articles/list', async (req, res) => {
  const articles = await Article.find()
  res.send(articles)
})

// 删除文章
app.delete('/api/articles/:id', async (req, res) => {
  await Article.findByIdAndDelete(req.params.id)
  res.send({
    status: true
  })
})

// 文章详情
app.get('/api/articles/:id', async (req, res) => {
  const article = await Article.findById(req.params.id)
  res.send(article)
})

// 修改文章
app.put('/api/articles/:id', async (req, res) => {
  const articles = await Article.findByIdAndUpdate(req.params.id, req.body)
  res.send(articles)
})

app.listen(3001, () => {
  console.log('http://localhost:3001')
})